import { RollupOptions } from 'rollup'
import {genLibRollupOutputEsConfig} from './gen-lib-rollup-output-es-config'
import { genLibRollupOutputCJSConfig } from './gen-lib-rollup-output-cjs-config'

/**
 * 生成 Vite build 库打包配置项中 rollup 打包配置，默认已有的配置：
 * - input 打包入口，默认为 `'src/index.ts'`
 * - output 打包输出配置，默认为 `[genRollupOutputESConfig(), genRollupOutputCJSConfig()]`
 *
 * @param {RollupOptions} options Vite build 库打包配置项中 rollup 打包配置
 * @returns {RollupOptions} Vite build 库打包配置项中 rollup 打包配置
 */
export const genLibRollupOptions = (options: RollupOptions = {}): RollupOptions => {
  return {
    // 打包入口
    input: 'src/index.ts',
    // 打包输出配置
    output: [
      genLibRollupOutputEsConfig(),
      genLibRollupOutputCJSConfig()
    ],
    ...options
  }
}

export type GenLibRollupOptionsType = typeof genLibRollupOptions
